Bu oturumda kullanılan paketler…
library(GGally)       ## değişkenler arasındaki ilişkiyi inceleme
library(lavaan)       ## Yem analizleri
library(broom)        ## sonuçların düzgün elde edilmesi
library(DT)           ## interaktif tablolar
library(dplyr)        ## veri düzenleme
library(knitr)        ## rapor ve tablo oluşturma
library(semPlot)      ## görselleştirme
library(semptools)    ## anlamlı katsayaları gösterme
library(semoutput)    ## çıktıları tablo formatında verir.
## diğer paketlerden farklı olarak devtools::install_github("dr-JT/semoutput") komutu ile yüklenmektedir
library(stargazer)    ## regresyon çıktılarını düzenler
library(multilevel)   ## sobel testi
library(bda)          ## sobel testi-anlamlılık değeri
library(mediation)
library(gvlma)        ## varsayım testi
library(rockchalk)

Düzenleyici Değişken (moderator)

Düzenleyici değişken, bağımsız değişken ile bağımlı değişken arasındaki ilişkinin yönünü veya gücünü etkileyen bir değişkendir. Yani, X’in Y üzerindeki etkisi, Z/W değişkenine bağlı olarak değişebilir.

Düzenleyici bir değişkenin (Z), bir bağımlı (X) ile bir bağımsız (Y) arasındaki ilişkinin yönünü ve/veya gücünü etkileyip etkilemediğini test eder. Başka bir deyişle, düzenleyici değişkenler arasındaki ilişkilerin NE ZAMAN gerçekleştiğini etkileyen etkileşimleri test eder. Düzenleyici değişkenler kavramsal olarak aracı değişkenlerden farklıdır (ne zaman ve nasıl/neden) ancak sorunuza bağlı olarak bazı değişkenler düzenleyici veya aracı olabilir. Bu nedenle teorik alt yapı detaylı olarak incelenmelidir. Ayrıca düzenleyicilik analizi, değişkenler arası ilişkileri daha detaylı inceleme imkanı sunar. Daha karmaşık ilişkileri mediated moderation- moderated mediation test etmenin yolları için mediation paketinin yardım sayfalarına bakabilirsiniz.

  • Düzenleyici etki kategorik veya sürekli bir değişken olabilir. Her iki durumda da temel analizler aynı olup bu analiz çıktılarının yorumlanması farklılaşır. Kategorik düzenleyici değişkende kategoriye, sürekli değişkende artış ve azalışa göre düzenleyici değişkenin bağımlı ve bağımsız değişkenler arasındaki güce etki ettiği nasıl etki ettiği (artış-azalış-ters yön) yorumlanabilir.

  • Sınıf büyüklüğü (Z), öğrenci katılımı (X) ile akademik başarı (Y) arasındaki ilişkiyi düzenleyebilir. Küçük sınıflarda katılım, başarı üzerinde daha güçlü bir etki yaratabilirken, büyük sınıflarda bu etki daha zayıf olabilir.

Temel düzenleyici model
Temel düzenleyici model





Eğer bir çoklu regresyon modelinde bir bağımsız değişken ile bağımlı değişken arasındaki ilişkinin büyüklüğü diğer bir bağımsız değişkenin düzeyine göre değişirse, etkileşim gözlenir. Etkileşim etkisi, düzenleyici (moderator) etki olarak da bilinmektedir. Etkileşim terimi \(X_1\) değişkeninin değerlerinin aracı \(X_2\) değişkeninin değerleriyle çarpılmasıyla oluşan bileşik bir değişkendir. Regresyon eşitliği aşağıdaki gibidir:

\[Y= a + b_1x_{1i} + b_2x_{2i} + b_3x_{1i}x_{2i}\]

Burada, \(b_3\) katsayısı düzenleyici etki olup \(X_2\) değişkenin değeri değişirken \(X_1\) değişkeninin etkisindeki birim değişimi belirtir.

\[Y= a + b_1x_{1i} + b_2x_{2i} + b_3x_{1i}x_{2i}\]

  • \(b_1\) katsayısı \(X_2\) değişkenine ilişkin değer sıfırken \(X_1\) değişkeninin etkisini,

  • \(b_2\) katsayısı \(X_1\) değişkenine ilişkin değer sıfırken \(X_2\) değişkeninin etkisini belirtir.

Yani etkileşim etkisinin bulunmadığı modelde, \(b_1\) katsayısı \(X_2\) değişkeninin bütün düzeylerinde \(X_1\) değişkeninin etkisini, \(b_2\) katsayısı \(X_1\) değişkeninin bütün düzeylerinde \(X_2\) değişkeninin etkisini temsil eder.

Bağımsız değişkenin toplam etkisini belirlemek için değişkenin ayrı ve düzenleyici etkisi bir araya getirilmelidir.

Temel düzenleyici model2
Temel düzenleyici model2





Düzenleyici değişken Z veya W olarak gösterilebilir ve X ve W değişkenleriden herhangi birinin düzenleyici değişken olması matematiksel olarak aynı denklem ile ifade edilir. Bu nedenle literatür incelenerek düzenleyici değişken seçimi en doğru şekilde yapılmalıdır.

Varsayımların İncelenmesi

Aracılık analizi ile aynı varsayımlara sahip olduğundan detaylı bilgi için aracılık bölümüne bakılabilir.

  • Bağımsızlık
  • Uç değerler
  • Normallik
  • Doğrusallık
  • Eş varyanslılık
  • Çoklu bağlantılılık

Farklı Modeller

Düzenleyicilik modelleri de aracılık modelleri gibi düzenleyici değişken sayısına göre kategorilendirilir. Tekli düzenleyici model, bir düzenleyici değişkenin olduğu yukarıdaki örneklerde yer alan modeldir. Burada tek bir etkileşim etkisi ele alınır ve bu etkileşim etkisinin anlamlı olup olmadığı test edilir.

Çoklu düzenleyici modelde ise birden fazla düzenleyici değişken söz konusudur ve bu değişkenlerin bağımsız değişken ile çarpımından elde edilen etkileşim etkisinin anlamlılığı test edilir.

Burada tekli düzenleyicilik analizi ile ilgili örneklere devam edilmiştir.

Düzenleyicilik Analizi - I

Sunumdaki örnek Wagner, Compas ve Howell’in (1988) çalışmasından gelmektedir. Wagner ve diğerleri çalışmalarında daha fazla strese maruz kalan bireylerin psikolojik belirtileri daha yüksek düzeyde göstereceğini önermiştir. Ancak bir birey stresiyle başa çıkmasına yardımcı olacak yüksek düzeyde sosyal desteğe sahipse, belirtilerin stres arttıkça daha yavaş artmasının bekleneceğini, daha az sosyal desteğe sahip bireyler için ise, semptomların stres arttıkça daha hızlı artmasının bekleneceğini belirttiler.

“zorluklar.Rds” veri dosyası 56 üniversite birinci sınıf öğrencisinin ID, sorun, destek ve berlitiler değişkenlerine ait değerleri içermektedir.

zorluklar <- readRDS("import/zorluklar.Rds")
head(zorluklar)
## # A tibble: 6 × 4
##      id sorun destek belirtiler
##   <dbl> <dbl>  <dbl>      <dbl>
## 1     5   176     10         73
## 2    26   379     50         88
## 3    58   126     45        118
## 4    41   193     40         79
## 5    63   229     40        127
## 6     2   153     39         73

İlk olarak değişkenler arasındaki ilişkilere bakılır.

library(GGally)

ggpairs(zorluklar[,-1])

Destek, sorun veya belirtiler ile ilişkili olmamasına rağmen, beklendiği gibi, sorun ve belirtiler arasında istatistiksel olarak bir ilişki vardır (r = 0,577).

Ancak bu bulgular sorun ve belirtiler arasındaki ilişkinin destek düzeyine bağlı olup olmadığı sorusuna cevap vermemektedir. Sorun ve destek etkileşimini test etmek için sorun değerleri ile destek değerlerinin çarpımıyla yeni bir değişken oluşturulur. Ancak bu iki değişkene ilişkin değerlerin çarpılmasıyla oluşan değişkenin analize dahil edilmesinde iki problem ortaya çıkacaktır.

Sorun veya destek değişkenlerinden biri veya ikisi, çarpımlarıyla oluşan değişken ile yüksek düzeyde korelasyona sahip olacaktır ki bu da veride çoklu bağlantı problemine neden olacaktır.

Regresyon analizinde sorun veya destek değişkeninin herhangi bir etkisi diğer değişkenin değerinin 0 olduğu durumda değerlendirilecektir. Diğer bir ifadeyle, sorun üzerindeki test hiç sosyal desteği olmayan bir katılımcı için sorunların belirtilerle ilişkili olup olmadığı testi olacaktır. Benzer şekilde, destek üzerindeki test hiç sorunları olmayan katılımcılar için değerlendirilecektir.

Hem çoklu bağlantı problemi, hem de ana etkilerden birinin diğer ana etkinin uç değerinde değerlendirilmesi problemi istenmeyen durumlardır. Bahsedilen problemlerle başa çıkmak için sorun değişkeni ve destek değişkeni merkezlenebilir.

  • Bunun için her bir değişkene ilişkin bireysel gözlemlerden ilgili değişkenin ortalaması çıkarılarak sapma puanları hesaplanacaktır.
zorluklar$csorun <- zorluklar$sorun -mean(zorluklar$sorun)
zorluklar$cdestek <- zorluklar$destek -mean(zorluklar$destek)
zorluklar$cross  <- zorluklar$sorun*zorluklar$destek
zorluklar$cross_m  <- zorluklar$csorun*zorluklar$cdestek

Değişkenler merkezlendikten sonra merkezlenen sorun değişkeni için 0 değeri sorun değişkeninin ortalama düzeyindeki katılımcıları temsil ederken, merkezlenen destek değişkeni için 0 değeri destek değişkeninin ortalama düzeyindeki katılımcıları temsil eder. Böylece ana etkiler diğer değişkenin uygun düzeyinde değerlendirilir.

Değişkenlerin merkezlenmesiyle sorun ve destek değişkenleri arasındaki çoklu bağlantı da önemli ölçüde düşecektir. Merkezlenen sorun, merkezlenen destek, merkezlenen sorun değişkeninin değerleri ile merkezlenen Destek değişkeninin değerlerinin çarpılmasıyla elde edilen etkileşim terimi ve belirtiler arasındaki korelasyonlar incelenir.

ggpairs(zorluklar[,c(2:4,7)])

 ggpairs(zorluklar[,c(5,6,4,8)])

  • sorun değişkeni ile etkileşim terimi arasındaki ilişki (r=0.835, p<0.005) iken, merkezlenmiş sorun değişkeni ile merkezlenmiş etkileşim terimi arasındaki ilişki (r=-0.297, p<0.005) dir. ,
  • Belirtilerin bağımlı degişken; merkezlenen sorunların ve merkezlenen desteğin bağımsız değişken olarak modellendiği regresyonda, iki bağımsız değişkenin etkileşimini incelemek üzere etkileşim terimi de regresyon modeline eklenir.
library(stargazer)
n_model <- lm(belirtiler  ~ csorun  + cdestek  ,data=zorluklar)
cross_model <- lm(belirtiler  ~ csorun  + cdestek + cross_m ,data=zorluklar)

stargazer(n_model, cross_model, type = "text", title = "Düzenleyici Etkisi")
## 
## Düzenleyici Etkisi
## =================================================================
##                                  Dependent variable:             
##                     ---------------------------------------------
##                                      belirtiler                  
##                              (1)                    (2)          
## -----------------------------------------------------------------
## csorun                     0.096***               0.086***       
##                            (0.019)                (0.019)        
##                                                                  
## cdestek                     -0.098                 0.146         
##                            (0.293)                (0.305)        
##                                                                  
## cross_m                                           -0.005**       
##                                                   (0.002)        
##                                                                  
## Constant                  90.429***              89.585***       
##                            (2.333)                (2.292)        
##                                                                  
## -----------------------------------------------------------------
## Observations                  56                     56          
## R2                          0.334                  0.388         
## Adjusted R2                 0.309                  0.353         
## Residual Std. Error    17.457 (df = 53)       16.893 (df = 52)   
## F Statistic         13.317*** (df = 2; 53) 11.012*** (df = 3; 52)
## =================================================================
## Note:                                 *p<0.1; **p<0.05; ***p<0.01

Etkileşimli modelin daha yüksek bir \(R^2\) değerine sahip olduğu açıktır. Bununla birlikte birden fazla açıklayıcı değişkene sahip modellerde model seçimi için \(R^2\) iyi bir fikir değildir, çünkü herhangi bir değişken modele eklendiğinde \(R^2\) artar.

Model seçimi için (daha) objektif bir ölçü düzeltilmiş \(R^2\) dir, modele dahil edilen değişken sayısı için bir düzeltme uyguladığından, yeni değişken herhangi bir yeni bilgi sağlamıyorsa veya tamamen ilgisizse düzeltilmiş \(R^2\) artmaz. Bu da düzeltilmiş \(R^2\) çoklu regresyon modellerinde model seçimi için tercih edilebilir bir metriktir.

\(R^2\) değeri yaklaşık 0.39 olup belirtilerdeki varyansın yaklaşık %39’unun doğrusal regresyon modeli tarafından açıklandığı anlamına gelmektedir. Düzeltilmiş \(R^2\) değeri ise 0.353’tür.

library(broom)
tidy(cross_model)
## # A tibble: 4 × 5
##   term        estimate std.error statistic  p.value
##   <chr>          <dbl>     <dbl>     <dbl>    <dbl>
## 1 (Intercept) 89.6       2.29       39.1   3.14e-40
## 2 csorun       0.0859    0.0192      4.47  4.22e- 5
## 3 cdestek      0.146     0.305       0.479 6.34e- 1
## 4 cross_m     -0.00506   0.00236    -2.14  3.68e- 2

Hem merkezlenen sorun hem de etkileşim terimi istatistiksel olarak anlamlıdır (sırasıyla p ˂ 0.001 ve p = 0.037). Ancak merkezlenen destek istatistiksel olarak anlamlı değildir (p = 0.634). Destek değişkeni etkileşim teriminin hesaplanmasında yer aldığından, regresyon modelinde kalabilir.

Etki büyüklüğünün incelenmesi de oldukça önemlidir. Düzenleyicilik etki analizini hesaplamada genellikle Cohen f^2 kullanılır ve küçük, orta, büyük olarak değerlendirmede .005 , .01, .025 kesme değerleri kullanılır (Aguinis vd., 2015; Kenny, 2018)

library(effectsize)
cohens_f_squared(cross_model)
## # Effect Size for ANOVA (Type I)
## 
## Parameter | Cohen's f2 (partial) |      95% CI
## ----------------------------------------------
## csorun    |                 0.54 | [0.23, Inf]
## cdestek   |             2.33e-03 | [0.00, Inf]
## cross_m   |                 0.09 | [0.00, Inf]
## 
## - One-sided CIs: upper bound fixed at [Inf].

Etkileşim etkisinin anlamını yorumlamak için en etkili yol değişkenler arasındaki ilişkilerin grafik ile göstermektir. En basit çözüm sosyal desteğin sabit düzeyleri için zorluklar ve psikolojik belirtiler arasındaki ilişkiye bakmaktır.

Merkezlenen sosyal destek değişkeninin değerileri -21 ile +19 arasında değişmektedir. Bu değişken için düşük, orta ve yüksek değerleri temsil etmek üzere sırasıyla -15, 0 ve +15 değerleri seçilebilir.

Yüksek düzeyde sosyal destek ile sorunlardaki artışlar psikolojik belirtilerde küçük artışlarla ilişkilendirilir. Orta düzeyde sosyal destek ile sorunlardaki artışlar psikolojik belirtilerde daha büyük artışlarla ilişkilendirilir. Düşük düzeyde sosyal destek ile sorunlardakı artışlar psikolojik belirtilerde dramatik artışlarla ilişkilendirilir. Bu nedenle sorunlar ve psikolojik belirtiler arasındaki ilişki düşük düzeyde sosyal destek görenlerde daha güçlüdür.

rockchalk paketi plotSlopes() fonksiyonu otomatik olarak düzenleyici etkinin basit eğimlerini (ortalamanın 1 SD üstü ve 1 SD altı) çizecektir. Öncelikle düzenleyici etkinin minumum, ortalama ve yüksek değerleri için grafik çizdirilmiştir.

#Plotting
library(rockchalk)
ps  <- plotSlopes(cross_model, plotx="csorun", modx="cross_m", xlab = "Sorun", ylab = "Belirtiler", modxVals = c(min(zorluklar$cross_m),mean(zorluklar$cross_m),max(zorluklar$cross_m)))

#Plotting
library(rockchalk)
ps  <- plotSlopes(cross_model, plotx="csorun", modx="cross_m", xlab = "Sorun", ylab = "Belirtiler", modxVals = c("std.dev"))

Düşük düzeyde sosyal destek ile sorunlardakı artışlar psikolojik belirtilerde dramatik artışlarla ilişkilendiriliği göstermektedir (siyah çizgi) Sosyal desteğin ortalamanın 1 sd altında olanların psikolojik sorunlarının ortalamanın 1 sd üstünde bulunanlardan daha yüksek olduğu söylenebilir. Buna göre sosyal desteğin ortalamanın 1 sd altında olanların sorunları arttıkça psikolojik belirtilerin de daha hızlı arttığı yorumu yapılabilir.

Düzenleyicilik Analizi - II

Bu örnekte, bir yüksek lisans öğrencisinin aldığı uyku saati sayısı (X) ile bu derse verdiği dikkat (Y) arasındaki ilişkinin kahve tüketiminden (Z) etkilenip etkilenmediğini inceleyeceğiz. Burada bağımlı değişken (Y), bağımsız değişken (X) ve düzenleyici değişken (Z) seviyelerinin çarpımı haline getirerek düzenleyici etkisi yaratıyoruz.

duzenleyici <- readRDS("import/duzenleyici.Rds")

Moderasyon, düzenleyici değişken (Z) ile bağımsız değişken (X) arasında anlamlı etkileşimler aranarak test edilebilir. Özellikle, çoklu bağlantıyı azaltmak ve yorumlamayı kolaylaştırmak için hem düzenleyici hem de bağımsız değişkeni merkezlemek gereklidir. Merkezleme, bir değişkenin ortalamasını o değişkendeki her değerden çıkararak yapılabilir.

#C Merkezleme
library(dplyr)
duzenleyici <- duzenleyici %>% mutate(Xc = X -mean(X),     # uyku saati değişkenin merkezlenmesi
                                      Zc = Z -mean(Z),     # kahve tüketimi değişkenin merkezlenmesi
                                      XcZc = Xc*Zc)        # çaprazlama

R’deki bir dizi paket, QuantPsyc paketinin moderate.lm() fonksiyonu ve pequod paketi de dahil olmak üzere, düzenleyici analizlerini yürütmek ve çizmek için de kullanılabilir. Ancak, burada gösterildiği gibi bunu geleneksel çoklu regresyon kullanarak yapmak da kolaydır ve bu paketlerdeki temel analiz (düzenleyici ve bağımsız etkileşimi) bu yaklaşımla aynıdır. Burada kullanılan rockchalk paketi, R’de bulunan birçok grafik ve çizim paketinden biridir ve özellikle regresyon analizlerinde kullanılmak üzere tasarlandığı için seçilmiştir.

attach(duzenleyici)
fitMod <- lm(Y ~ Xc + Zc + XcZc) 
coef(summary(fitMod))
##               Estimate Std. Error   t value     Pr(>|t|)
## (Intercept) 48.5444271 1.17285613 41.389925 5.149708e-63
## Xc           5.2081205 0.34870152 14.935755 8.862490e-27
## Zc           1.1044337 0.15537153  7.108340 2.077645e-10
## XcZc         0.2338362 0.04134056  5.656338 1.592946e-07

Sonuçlar normal çoklu regresyon sonuçlarına benzer şekilde sunulmuştur. Bu modelde önemli etkileşim etkisi anlamlı olduğu için, bağımsız değişken veya düzenleyici değişken etkilerini ayrı yorumlamaya gerek yoktur.

library(stargazer)
stargazer(fitMod,type="text", title = "Uyku ve Kahvenin Dikkate Etkisi")
## 
## Uyku ve Kahvenin Dikkate Etkisi
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                                  Y             
## -----------------------------------------------
## Xc                           5.208***          
##                               (0.349)          
##                                                
## Zc                           1.104***          
##                               (0.155)          
##                                                
## XcZc                         0.234***          
##                               (0.041)          
##                                                
## Constant                     48.544***         
##                               (1.173)          
##                                                
## -----------------------------------------------
## Observations                    100            
## R2                             0.766           
## Adjusted R2                    0.759           
## Residual Std. Error      11.647 (df = 96)      
## F Statistic           104.784*** (df = 3; 96)  
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

Elle modelimiz, uyunan saatler ile kahve tüketimi arasında bu derse verilen dikkat üzerinde anlamlı bir etkileşim olduğunu göstermektedir (b = .23, SE = .04, p < .001). Uyku ve kahve tüketimi derse verilen dikkat üzerindeki değişkenliği %76.6’sını açıklamaktadır.

cohens_f_squared(fitMod)
## # Effect Size for ANOVA (Type I)
## 
## Parameter | Cohen's f2 (partial) |      95% CI
## ----------------------------------------------
## Xc        |                 2.43 | [1.71, Inf]
## Zc        |                 0.51 | [0.28, Inf]
## XcZc      |                 0.33 | [0.16, Inf]
## 
## - One-sided CIs: upper bound fixed at [Inf].

Etkileşim etki büyüklüğünün oldukça büyük olduğu bulunmuştur. Fakat etkileşim etkisinin ne anlama geldiği hakkında daha iyi bir fikir edinmek için bu etkileşimi görsel olarak vermek daha iyi olacaktır.

rockchalk paketi plotSlopes() fonksiyonu otomatik olarak ılımlı etkinin basit eğimlerini (ortalamanın 1 SD üstü ve 1 SD altı) çizecektir.

#Plotting
library(rockchalk)
ps  <- plotSlopes(fitMod, plotx="Xc", modx="Zc", xlab = "Uyku", ylab = "Verilen Dikkat", modxVals = "std.dev")

Bu şekil, daha az kahve içenlerin (ortalamanın 1 sd altında olanlar-siyah çizgi) dün gece ne kadar çok uyurlarsa o kadar çok dikkat ettiklerini, ancak genel ortalamada daha az dikkat ettiklerini göstermektedir (mavi çizgi). Daha fazla kahve içenler (ortalamanın 1 sd üstünde olanlar-yeşil çizgi) daha fazla uyuduklarında da daha fazla dikkat etmiş ve ortalamadan daha fazla dikkat göstermişlerdir. Ortalamadan 1 sd daha az kahve içenlerin uyku saatleri arttıkça verilen dikkatleri de artmaktadır. Daha fazla veya daha az kahve içenlerin eğimlerindeki fark, kahve tüketiminin uyku saatleri ile dikkat arasındaki ilişkiyi ılımlı hale getirdiğini göstermektedir.

Önemli Notlar

  • Düzenleyici değişken mutlaka literatüre göre seçilmelidir.

  • Bağımlı değişkenin düzenleyici etkisinin olamayacağı açıklanmalıdır (matematiksel formül aynı)

  • Düzenleyici etkisi anlamlı çıktığında bu etkileşim görselleştirilmeli, anlamlı çıkmazsa buna gerek duyulmamalı. Hatta bu değişken modelden bile çıkarılıp, sadece regresyon analizi yapılabilir.

  • Merkezileştirme ve standartlaştırmaya gerek dolmayabilir. Zaten bu işlemler etkileşim etkisi üzerinde herhangi bir değişime neden olmaz.

  • Örneklem büyüklüğü yeterli olmalı ve örneklemin evreni temsil gücü yüksek olmalıdır.

  • Düzenleyici değişken sürekli ya da kategorik olabilir fakat sürekli değişkenin kategorik değişkene dönüştürülmesi pek tercih edilmemelidir (edilirse birkesme değer, ortalama vb. ile belirlenmeli)

  • Bağımsız değişken sürekli ya da kategorik olabilir. Bağımlı değişken de aynı şekilde fakat kategorik olduğunda lojistik regrosyon veya probit regresyon ile hesaplama yapılır.

Kaynaklar

Baron, R., & Kenny, D. (1986). The moderator-mediator variable distinction in social psychological research: Conceptual, strategic, and statistical considerations. Journal of Personality and Social Psychology, 51, 1173-1182.

Hayes, A. F. (2022). Introduction to Mediation, Moderation, and Conditional Process Analysis: A Regression-Based Approach (Vol. 3). The Guilford Press.

Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables. R package version 5.2.3. https://CRAN.R-project.org/package=stargazer

Tingley, D., Yamamoto, T., Hirose, K., Keele, L., & Imai, K. (2014). Mediation: R package for causal mediation analysis.

Wagner, B. M., Compas, B. E., & Howell, D. C. (1988). Daily and major life events: A test of an integrative model of psychosocial stress. American Journal of Community Psychology, 16 (2), 189-205.